Hi there,
I have some experience in software development (about 30+ years or so), and never ever was your question leading...
First choose what devices your app should be running on
Then decide if your app has enough "reusable" things to even start thinking about models
If not, don't use any model at all! It will only cost you more time. Don't let the "hype" trick you!
However, if ur app is supposed to work on several different devices, and the output of your app may be in different kinds of forms, THEN, and only THEN, start thinking about how to generalize the view of ur app to the different kinds of users...
And also ofcourse, If you plan to make many apps, some parts may be common. And Yes, in that case you start worying about reusability.
But NEVER!!!
NEVER EVER!!!
Worry about UI, before u have thought about ur app first:
What it should do
How it should do it
What UI should be the LAST of ur problems...
Now, having sayd that, there is always "Prototyping" to engage the end users in the look and feel of the app in as early a stage as possible of course, but it NEVER should be leading to a change of architecture.